package com.briup.jd2511.jd2511bookstore.proxy;

//代理类
public class MyProxy implements Singer {
    //代理对象中，需要持有真正的目标对象的引用
    //其目的是在完成辅助工作之后，使用目标对象来完成真正的核心工作
    private Singer target;

    public MyProxy(Singer target) {
        this.target = target;
    }

    @Override
    public void sing() {
        //完成各种各种工作
        System.out.println("安排时间");
        System.out.println("联系场地");
        System.out.println("安全保障");
        System.out.println("合同签订");

        //使用目标对象来完成核心工作
        this.target.sing();

        System.out.println("费用结算");
    }
}
